hyperyonfandomcom_fr-20200213-history
Python
Récupérer le presse-papier (Windows) Commentaire # En langage Python, l'ajout d'un commentaire est précédé du caractère dièse '#' Jeu de caractères Il est fortement recommandé d'insérer un de ces jeux de caractères suivant. Le pseudo-commentaire se fait généralement à la première ligne du script. # -*- coding:Utf-8 -*- # -*- coding:Latin-1 -*- Pour être certain que le script sera bien interprété, il est conseillé d'utiliser l'utf-8 Indentation En Python, l'indentation est obligatoire sinon vous allez générer des erreurs... Lorsque vous voulez effectuer un 'if' ou un 'while', vous devez indenter chaque bloc de codes respectif, en général on prend soit 4 espaces, soit une tabulation (mais il est préférable d'utiliser les espaces). var = 35 if (var < 35): print "La variable ne vaut pas 35" else: print "La variable vaut 35 ou plus" #oubli d'indentation ce qui va provoquer une erreur Importer un module from math import * #ici le caractère '*' permet d'importer l'ensemble des fonctions disponibles dans le module math Variables Il n'y a pas besoin d'indiquer en Python le type de variable lorsqu'on déclare cette dernière. Python se charge automatiquement du type de variable adéquat, il peut même si besoin modifier le type de la variable de façon dynamique, au cours de l'exécution du script. var1, var2, var3 = 25, 23.3, "Hello world !" #Il est possible de déclarer les variables ainsi print var1, var2, var3 print type(var1), type(var2), type(var3) Résultat : Autre façon de déclarer var1 = var2 = 33 print var1, var2 Modifier variable globale Si l'on se trouve dans une fonction ayant une variable portant le même nom qu'une variable globale. On peut spécifier à la fonction qu'il faut traiter la variable globale et non celle locale. Ceci se fait en mettant le mot clé global devant la variable à modifier global var #pour utiliser une variable globale, toujours rajouter cette ligne en premier sans affection ! var = 0 Structures de contrôle if, elif, else var = 10 if (var > 10): #Les parenthèses ici sont facultatives, néanmoins on peut les garder pour une question de lisibilité print "La variable est supérieur à 10" elif (var < 10): print "La variable est inférieur à 10" else: print "La variable est égale à 10" while a = 0 while(a < 5): print "Hello" a += 1 for Le for en Python possède un fonctionnement différent par rapport à d'autres langages (e.g C/C++). En effet cette instruction se contente non pas de boucler un nombre x fois mais parcourt chaque case d'un tableau ou d'une chaine de caractères. liste = "texte2", "texte3" for maVariable in liste: print maVariable, # ajoute de la virgule pour afficher les valeurs sans saut de ligne chaine = "Helloworld !" for variable in chaine: print variable, Attention : il n'est pas possible d'utiliser de for sur des valeurs numériques simples (par contre cette instruction est applicable sur des tableaux de valeurs numériques). La première boucle affichera : Seconde boucle : Liste Une liste est un ensemble de données dont chaque élément peut posséder un type différent (str, int, float etc...), elle peut notamment contenir d'autres listes. Une liste se déclare ainsi : liste = "element2", "element3" Il est possible de parcourir cette liste, à condition de connaître l'index du ou des éléments que l'on souhaite consulter et/ou modifier. print liste0, liste2 print liste # si on ne précise pas l'index, on affiche alors le contenu de toute la liste Résultat : On peut notamment rajouter un élément en fin de liste avec append() ou supprimer un élément quelconque si l'on connaît son index avec la fonction del() liste.append("monElement") # ajoute un élément del(liste3) #supprime l'élément lié à l'index Fonctions sur les listes sort() : Extrêmement pratique, Python vous trie dans l'ordre croissant et alphabétique votre liste reverse() : Inverse tout le contenu de votre liste append() : ajoute un élément supplémentaire en fin d'une liste del() : supprime un élément dont on aura indiquer son index Fonctions prédéfinies type() : affiche le type de la variable len() : indique la taille de la chaîne de caractères input() : équivalent au cin en c++ raw_input() : équivalent à input() mais retourne une variable de type string obligatoirement int() : permet de convertir un nombre considéré comme chaîne de caractères en une variable de type integer float() : idem mais en type float str() : de même mais en string hex() : convertit un nombre décimal en hexadécimal bin() : convertir un nombre décimal en binaire ord() : renvoi la valeur décimale ASCII du caractère Fonction aléatoire valeur = random.randint(1,4000) #intervalle de 1 à 4000 pour génération (pseudo) aléatoire. Fonctions originales def maFonction(argument1, argument2): #les instructions que doit effectuer votre fonction return quelqueChose # il est possible que la fonction retourne une valeur def fonction(val = 25, string = "Hi guy !"): #autre possibilité, on peut mettre des valeurs par défaut aux arguments #blablabla #appel de la fonction maFonction(arg1, arg2) #dans le cas où l'on a mis des valeurs par défaut aux arguments d'une fonction #on peut se permettre de les mettre dans le désordre lors de son appel fonction(string = "Ok go !", val = 11) Classe class uneClasse: #définition d'une classe en Python variable = 25 # création d'un attribut def uneFonction(self): #obligation de mettre un self même si il n'y pas d'argument utilisé print "hello", uneClasse.variable uneClasse.variable += 25 def autreFonction(self, parametre): print parametre print uneClasse.variable # les attributs d'une classe sont disponibles avant même une quelconque instantiation maClasse = uneClasse() #instanciation de la classe print maClasse.variable #appel des méthodes de la classe uneClasse maClasse.uneFonction() #modification de la valeur de l'attribut via la méthode maClasse.autreFonction('essai') print maClasse.variable uneClasse.variable = 32 # seconde modification par simple affectation de valeur print maClasse.variable Affichage Il est possible d'afficher plusieurs éléments sur une même ligne en ajoutant une virgule à la fin de l'instruction print i = 0 while i < 10: print i, i += 1 # on oublie pas d'incrémenter la variable sinon on aura une boucle infinie Résultat : Utilisation guillemets ou simple quote ? Ces deux caractères sont acceptés sous Python pour définir une chaine de caractères. Cependant si votre chaine de caractère comporte des simples quotes (apostrophes) alors délimiter votre chaine par des guillemets et si il y a des guillemets faites le avec des simples quote. Fichier Ecriture str = "chaine de caractères à écrire" fichier = open('chemin_du_fichier','a') #ouverture du fichier en écriture sans effacement fichier.write(str) fichier.close() # fermeture du fichier Lecture fichier = open('chemin_du_fichier', 'r') # ouverture du fichier en lecture seule buf = fichier.read() #renvoi tout le contenu du fichier buf = fichier.readline() #idem mais ligne par ligne buf = fichier.readlines() #affiche le contenu sans saut de ligne fichier.close() # on n'oublie pas de fermer le flux Options d'ouverture fichier *'r' indique que le fichier sera seulement lu (‘read’) *'w' indique qu’on va seulement écrire dans le fichier (‘write’). Ouverture (ou création fichier) avec écrasement données *'a' indique que l’on ouvre le fichier en écriture mais sans écraser le contenu existant déjà. *'r+' indique que l’on ouvre le fichier à la fois en ouverture et en écriture.